//
//  Stack.h
//  栈
//
//  Created by 卜绎皓 on 2022/6/25.
//

#pragma once

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<stdbool.h>

typedef int STDatatype;
typedef struct Stack
{
    STDatatype* a; //动态开辟的空间
    int top; //栈顶
    int capacicy; //容量
}ST;

//函数
//注意链表和顺序表我们写Print，但是栈不写,因为栈是后进先出的，所以不能Printf
void StackInit(ST* ps);//初始化
void StackPush(ST* ps, STDatatype x);//插入
bool StackEmpty(ST* ps);//判空
void StackPop(ST* ps);//删除
STDatatype StackTop(ST* ps);//栈顶
int StackSize(ST* ps);//长度
void StackDestory(ST* ps);//销毁

